1. Field of the Invention
The present invention relates generally to computer networks, and more particularly to a system and method for measuring network round trip time.
2. Description of the Prior Art
Recent growth in and an increasing reliance on networked computer applications have generated a need for network performance monitoring tools. Measuring the performance of networked systems is a significant consideration of users, designers, and manufacturers of these systems. Such monitoring tools allow system administrators and others to observe network responses to varying loads and conditions, to identify and diagnose problems in the communications paths, and to optimize network architectures to avoid bottlenecks and other congestion-causing conditions. There is a specific need for tools which measure delays associated with application execution and determine which portion of the delay is attributable to the network, which portion is attributable to the server, and so on.
Network performance monitoring tools are generally configured to measure and display various parameters characterizing communications between or among a plurality of network endpoints. In TCP/IP-based networks, one such parameter is the network Round Trip Time (RTT).
FIG. 1 depicts an exchange of packets between a client computer 100 and a server computer 110 over a network 120. At time tC1, client computer 100 sends a packet 130. By way of example, packet 130 may represent a database search query. Packet 130 travels on network 120 and arrives at server computer 120 at time tS1. During a Server Delay (SD) time, packet 130 is delivered to a database engine residing on server computer 110, which processes the search query and responsively generates a search result. At time tS2, the server computer 110 sends a response packet 140 containing search results. Packet 140 travels over network 120 and arrives at client computer 100 at time tC2.
The total transaction time of the foregoing transaction is given by the equation:TT=SD+RTT                 where TT is the transaction time. In accordance with the example depicted in FIG. 1:RTT=(tS1−tC1)+(tC2−tS2).        
This example and many prior art packages require that both network endpoints (i.e., both the client computer 100 and the server computer 110) be instrumented in order to monitor the various times. However, a problem exists where network performance is to be monitored at only one of two network endpoints. For example, it may be desirable to locate the network performance-monitoring tool at client computer 100. To accurately calculate the RTT, however, it is necessary to have knowledge of the server computer 110 packet receive and send times, tS1 and tS2, which will not be available to client computer 100. Therefore, there is a need for a system and method for measuring network round trip time at a single network endpoint.